Integration von Programmiersprachen durch strukturelle Typanalyse und partielle Auswertung
نویسنده
چکیده
The choice of a programming language quite often depends on the problem domain. Examples are the use of object-oriented languages for distributed systems, the use of functional languages in compiler construction, or the use of logical programming languages in artificial intelligence projects. In the extreme case it even makes sense to develop a domain specific language. In larger software projects it is desirable to implement each module in the programming language which is best suited for the specific module’s task. Of course, this raises the question of how to integrate those modules to a coherent, working and efficient overall system. This dissertation focuses on a special case of language integration: the embedding of a language in an existing one. A new embedding-technique is proposed, based on structural type analysis and partial evaluation. In the first part of this thesis a set of three model-languages will be introduced. All these languages are designed to support our new embedding-approach, which will be thoroughly explained. The properties of the model-languages and the restrictions they impose on the guest languages will then be explained in full detail. As a first result, it turns out that many concepts of the model-languages can be simulated in C++ and thus, these languages are well-suited to explain the phenomena of the C++ -Template-Metaprogramming technique. The second part of this thesis analyses the practical relevance of our new embedding technique. We will show how to integrate a functional programming language with lazy evaluation, garbage collection and algebraic datatypes into C++ . We will show that our approach allows for the generation of code that is nearly as efficient as code being generated by established Haskell compilers.
منابع مشابه
METIS in PArADISE Provenance Management bei der Auswertung von Sensordatenmengen für die Entwicklung von Assistenzsystemen
In diesem Beitrag soll ein langfristiges Forschungsvorhaben im Bereich der Informatik und Elektrotechnik an der Universität Rostock vorgestellt werden, in dem wissenschaftliche Experimente in der Informatik, der Zellbiologie und der Medizin (neurodegenerative Erkrankungen) durch effiziente Analyseverfahren auf sehr großen Mengen von Messoder Sensordaten unterstützt und im Sinne des Provenance M...
متن کاملWerttypen in objektorientierten Programmiersprachen: Anforderungen an eine Sprachunterstützung
In der objektorientierten Modellierung von Anwendungssystemen werden Werte und Objekte häufig als unterschiedliche Abstraktionen aufgefasst. Durch die im softwaretechnischen Umfeld dominierenden objektorientierten Programmiersprachen fällt die Abbildung von Objekten eines Anwendungsbereichs auf Objektklassen dieser Sprachen inhärent leicht, während wertartige Abstraktionen umständlich repräsent...
متن کاملInstationäre Strömungssimulationen und Auswertung von Blutströmungen in zerebralen Aneurysmen mit Stent
Tritt infolge von pathologischen Veränderungen der arteriellen Gefäßwände eine Ruptur von zerebralen Aneurysmen ein, schließt sich eine Hämorrhagie mit hoher Mortalitätsrate an. Deshalb kommen bei der Behandlung oftmals Stents zum Einsatz, die die Strömungsgeschwindigkeiten im Aneurysma reduzieren und die resultierenden Wandschubspannungen unter einen kritischen Wert senken. Im Rahmen dieser Ar...
متن کاملVorwort zur 8. Arbeitstagung Programmiersprachen (ATPS 2015)
Die Arbeitstagung Programmiersprachen (ATPS) ist eine jährlich stattfindende Veranstaltung der Fachgruppe Programmiersprachen und Rechenkonzepte der Gesellschaft für Informatik (GI). Sie dient dem Austausch zwischen Wissenschaftlern, Entwicklern und Anwendern, die sich mit Themen aus dem Bereich der Programmiersprachen beschäftigen. Dabei sind alle Programmierparadigmen gleichermaßen von Intere...
متن کاملSoftware-Architektur und Open-Source-Lizenzrecht in Einklang bringen
Beim Einsatz von Open-Source Software in kommerziellen Produkten müssen Software Engineering und Rechtsabteilung sich synchronisieren. Indem sowohl die Verbauung der Software-Komponenten als auch die Aussagen der beteiligten Open-Source Lizenzen strukturiert erfasst und Werkzeug-unterstützt ausgewertet werden, können lizenzrechtliche Konflikte zeitnah und präzise erkannt werden. 1. Herausforder...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004